{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## BarGenerator内容\n",
    "1. 15分钟Bar更新\n",
    "2. 60分钟Bar更新"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 策略逻辑：\n",
    "60分钟看长短期MA趋势， 15分钟做均线择时。\n",
    "\n",
    "## CtaTemplate 内的方法\n",
    "BarGenerator(self.onBar, 60, self.on60MinBar): 从分钟self.onBar间隔60分钟输入self.on60MinBar"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from __future__ import division\n",
    "\n",
    "from vnpy.trader.vtConstant import EMPTY_STRING, EMPTY_FLOAT\n",
    "from vnpy.trader.app.ctaStrategy.ctaTemplate import (CtaTemplate, \n",
    "                                                     BarGenerator,\n",
    "                                                     ArrayManager)\n",
    "import talib as ta\n",
    "\n",
    "########################################################################\n",
    "# 策略继承CtaTemplate\n",
    "class MultiFrameMaStrategy(CtaTemplate):\n",
    "    className = 'MultiFrameMaStrategy'\n",
    "    author = 'ChannelCMT'\n",
    "    \n",
    "    # 策略交易标的的列表\n",
    "    symbolList = []         # 初始化为空\n",
    "    posDict = {}  # 初始化仓位字典\n",
    "    \n",
    "    # 多空仓位\n",
    "    Longpos = EMPTY_STRING        # 多头品种仓位\n",
    "    Shortpos = EMPTY_STRING       # 空头品种仓位\n",
    "    \n",
    "    # 策略参数\n",
    "    fastWindow = 30     # 快速均线参数\n",
    "    slowWindow = 60     # 慢速均线参数\n",
    "    initDays = 1       # 初始化数据所用的天数\n",
    "    \n",
    "    # 策略变量\n",
    "    fastMa0 = EMPTY_FLOAT   # 当前最新的快速EMA\n",
    "    fastMa1 = EMPTY_FLOAT   # 上一根的快速EMA\n",
    "    slowMa0 = EMPTY_FLOAT   # 当前最新的慢速EMA\n",
    "    slowMa1 = EMPTY_FLOAT   # 上一根的慢速EMA\n",
    "    maTrend = 0             # 均线趋势，多头1，空头-1\n",
    "    \n",
    "    # 参数列表，保存了参数的名称\n",
    "    paramList = ['name',\n",
    "                 'className',\n",
    "                 'author',\n",
    "                 'vtSymbol',\n",
    "                 'symbolList',\n",
    "                 'fastWindow',\n",
    "                 'slowWindow']    \n",
    "    \n",
    "    # 变量列表，保存了变量的名称\n",
    "    varList = ['inited',\n",
    "               'trading',\n",
    "               'posDict',\n",
    "               'fastMa0',\n",
    "               'fastMa1',\n",
    "               'slowMa0',\n",
    "               'slowMa1',\n",
    "               'maTrend']  \n",
    "    \n",
    "    # 同步列表，保存了需要保存到数据库的变量名称\n",
    "    syncList = ['posDict']\n",
    "\n",
    "    #----------------------------------------------------------------------\n",
    "    def __init__(self, ctaEngine, setting):\n",
    "        \n",
    "        # 首先找到策略的父类（就是类CtaTemplate），然后把DoubleMaStrategy的对象转换为类CtaTemplate的对象\n",
    "        super(MultiFrameMaStrategy, self).__init__(ctaEngine, setting)\n",
    "        \n",
    "        # 生成仓位记录的字典\n",
    "        symbol = self.symbolList[0]\n",
    "        self.Longpos = symbol.replace('.','_')+\"_LONG\"\n",
    "        self.Shortpos = symbol.replace('.','_')+\"_SHORT\"\n",
    "        \n",
    "        \n",
    "        self.bg60 = BarGenerator(self.onBar, 60, self.on60MinBar)\n",
    "        self.bg60Dict = {\n",
    "            sym: self.bg60\n",
    "            for sym in self.symbolList\n",
    "        }\n",
    "        \n",
    "        \n",
    "        self.bg15 = BarGenerator(self.onBar, 15, self.on15MinBar)\n",
    "        self.bg15Dict = {\n",
    "            sym: self.bg15\n",
    "            for sym in self.symbolList\n",
    "        }\n",
    "        \n",
    "        # 生成Bar数组\n",
    "        self.am60Dict = {\n",
    "            sym: ArrayManager(size=self.slowWindow+10)\n",
    "            for sym in self.symbolList\n",
    "        }\n",
    "      \n",
    "        self.am15Dict = {\n",
    "            sym: ArrayManager(size=self.slowWindow+10)\n",
    "            for sym in self.symbolList\n",
    "        }\n",
    "    \n",
    "    #----------------------------------------------------------------------\n",
    "    def onInit(self):\n",
    "        \"\"\"初始化策略（必须由用户继承实现）\"\"\"\n",
    "        self.writeCtaLog(u'双EMA演示策略初始化')\n",
    "        # 初始化仓位字典\n",
    "        if not self.posDict:\n",
    "            for symbolPos in [self.Longpos,self.Shortpos]:\n",
    "                self.posDict[symbolPos] = 0\n",
    "\n",
    "        # 初始化历史数据天数\n",
    "        initData = self.loadBar(self.initDays)\n",
    "        for bar in initData:\n",
    "            self.onBar(bar)\n",
    "        \n",
    "        self.putEvent()\n",
    "\n",
    "    #----------------------------------------------------------------------\n",
    "    def onStart(self):\n",
    "        \"\"\"启动策略（必须由用户继承实现）\"\"\"\n",
    "        self.writeCtaLog(u'双EMA演示策略启动')\n",
    "        self.putEvent()\n",
    "    \n",
    "    #----------------------------------------------------------------------\n",
    "    def onStop(self):\n",
    "        \"\"\"停止策略（必须由用户继承实现）\"\"\"\n",
    "        self.writeCtaLog(u'双EMA演示策略停止')\n",
    "        self.putEvent()\n",
    "        \n",
    "    #----------------------------------------------------------------------\n",
    "    def onTick(self, tick):\n",
    "        \"\"\"收到行情TICK推送（必须由用户继承实现）\"\"\"\n",
    "        pass\n",
    "    \n",
    "    #----------------------------------------------------------------------\n",
    "    def onBar(self, bar):\n",
    "        \"\"\"收到Bar推送（必须由用户继承实现）\"\"\"\n",
    "        self.cancelAll()\n",
    "        symbol = bar.vtSymbol\n",
    "        # 基于60分钟判断趋势过滤，因此先更新\n",
    "        bg60 = self.bg60Dict[symbol]\n",
    "        bg60.updateBar(bar)\n",
    "        \n",
    "        # 基于15分钟判断\n",
    "        bg15 = self.bg15Dict[symbol]\n",
    "        bg15.updateBar(bar)\n",
    "    \n",
    "    #----------------------------------------------------------------------\n",
    "    def on60MinBar(self, bar):\n",
    "        \"\"\"60分钟K线推送\"\"\"\n",
    "        symbol = bar.vtSymbol\n",
    "        am60 = self.am60Dict[symbol]\n",
    "        am60.updateBar(bar)\n",
    "        \n",
    "        if not am60.inited:\n",
    "            return\n",
    "        \n",
    "        # 计算均线并判断趋势\n",
    "        fastMa = ta.MA(am60.close, self.fastWindow)\n",
    "        slowMa = ta.MA(am60.close, self.slowWindow)\n",
    "#         print(fastMa)\n",
    "        \n",
    "        if fastMa[-1] > slowMa[-1]:\n",
    "            self.maTrend = 1\n",
    "        else:\n",
    "            self.maTrend = -1\n",
    "    \n",
    "    #----------------------------------------------------------------------\n",
    "    def on15MinBar(self, bar):\n",
    "        \"\"\"收到Bar推送（必须由用户继承实现）\"\"\"\n",
    "        self.cancelAll() # 全部撤单\n",
    "        symbol = bar.vtSymbol\n",
    "        \n",
    "        \n",
    "        am15 = self.am15Dict[symbol]\n",
    "        am15.updateBar(bar)\n",
    "        if not am15.inited:\n",
    "            return\n",
    "\n",
    "        fastMa = ta.EMA(am15.close, self.fastWindow)\n",
    "       \n",
    "        self.fastMa0 = fastMa[-1]\n",
    "        self.fastMa1 = fastMa[-2]\n",
    "        \n",
    "        slowMa = ta.EMA(am15.close, self.slowWindow)\n",
    "        self.slowMa0 = slowMa[-1]\n",
    "        self.slowMa1 = slowMa[-2]\n",
    "\n",
    "        # 判断买卖\n",
    "        crossOver = self.fastMa0>self.fastMa1 and self.slowMa0>self.slowMa1     # 均线上涨\n",
    "        crossBelow = self.fastMa0<self.fastMa1 and self.slowMa0<self.slowMa1    # 均线下跌\n",
    "        \n",
    "\n",
    "        \n",
    "        # 金叉和死叉的条件是互斥\n",
    "        if crossOver and self.maTrend==1:\n",
    "            # 如果金叉时手头没有持仓，则直接做多\n",
    "            if (self.posDict[self.Longpos]==0) and (self.posDict[self.Shortpos]==0):\n",
    "                self.buy(symbol,bar.close, 1)\n",
    "            # 如果有空头持仓，则先平空，再做多\n",
    "            elif self.posDict[self.Shortpos] == 1:\n",
    "                self.cover(symbol,bar.close, 1)\n",
    "                self.buy(symbol,bar.close, 1)\n",
    "\n",
    "        # 死叉和金叉相反\n",
    "        elif crossBelow and self.maTrend==-1:\n",
    "            if (self.posDict[self.Longpos]==0) and (self.posDict[self.Shortpos]==0):\n",
    "                self.short(symbol,bar.close, 1)\n",
    "            elif self.posDict[self.Longpos] == 1:\n",
    "                self.sell(symbol,bar.close, 1)\n",
    "                self.short(symbol,bar.close, 1)\n",
    "\n",
    "        \n",
    "        # 发出状态更新事件\n",
    "        self.putEvent()\n",
    "    \n",
    "    #----------------------------------------------------------------------\n",
    "    def onOrder(self, order):\n",
    "        \"\"\"收到委托变化推送（必须由用户继承实现）\"\"\"\n",
    "        # 对于无需做细粒度委托控制的策略，可以忽略onOrder\n",
    "        pass\n",
    "    \n",
    "    #----------------------------------------------------------------------\n",
    "    def onTrade(self, trade):\n",
    "        \"\"\"收到成交推送（必须由用户继承实现）\"\"\"\n",
    "        # 对于无需做细粒度委托控制的策略，可以忽略onOrder\n",
    "#         print(self.posDict)\n",
    "        pass\n",
    "    \n",
    "    #----------------------------------------------------------------------\n",
    "    def onStopOrder(self, so):\n",
    "        \"\"\"停止单推送\"\"\"\n",
    "        pass"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 配置引擎回测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-07-14 14:10:35.327690\t开始回测\n",
      "2018-07-14 14:10:35.327690\t策略初始化\n",
      "2018-07-14 14:10:35.327690\t载入历史数据。数据范围:[20171231,20180101)\n",
      "2018-07-14 14:10:35.463552\t载入完成，数据量：1414\n",
      "2018-07-14 14:10:35.476539\t策略初始化完成\n",
      "2018-07-14 14:10:35.476539\t策略启动完成\n",
      "2018-07-14 14:10:35.476539\t开始回放回测数据,回测范围:[20180101,20180701)\n",
      "2018-07-14 14:10:35.476539\t载入历史数据。数据范围:[20180101,20180311)\n",
      "2018-07-14 14:10:43.894944\t载入完成，数据量：99357\n",
      "2018-07-14 14:10:43.895943\t当前回放数据:[20180101,20180311)\n",
      "2018-07-14 14:10:45.297513\t载入历史数据。数据范围:[20180311,20180519)\n",
      "2018-07-14 14:10:53.416222\t载入完成，数据量：99073\n",
      "2018-07-14 14:10:53.462175\t当前回放数据:[20180311,20180519)\n",
      "2018-07-14 14:10:54.802806\t载入历史数据。数据范围:[20180519,20180701)\n",
      "2018-07-14 14:10:59.816689\t载入完成，数据量：61359\n",
      "2018-07-14 14:10:59.874628\t当前回放数据:[20180519,20180701)\n",
      "2018-07-14 14:11:00.742742\t数据回放结束ss: 100%    \n"
     ]
    }
   ],
   "source": [
    "if __name__==\"__main__\":\n",
    "    from vnpy.trader.app.ctaStrategy.ctaBacktesting import BacktestingEngine, OptimizationSetting, MINUTE_DB_NAME\n",
    "    # 创建回测引擎对象\n",
    "    engine = BacktestingEngine()\n",
    "    # 设置回测使用的数据\n",
    "    engine.setBacktestingMode(engine.BAR_MODE)    # 设置引擎的回测模式为K线\n",
    "    engine.setDatabase(MINUTE_DB_NAME)  # 设置使用的历史数据库\n",
    "    engine.setStartDate('20180101',initDays=1)               # 设置回测用的数据起始日期\n",
    "    engine.setEndDate('20180630')\n",
    "    # 配置回测引擎参数\n",
    "    engine.setSlippage(0.2)     # 设置滑点为股指1跳\n",
    "    engine.setRate(1/1000)   # 设置手续费万0.3\n",
    "    engine.setSize(1)         # 设置股指合约大小\n",
    "    # engine.setPriceTick(0.0001)    # 设置股指最小价格变动\n",
    "    engine.setCapital(1000000)  # 设置回测本金\n",
    "\n",
    "    # # 在引擎中创建策略对象\n",
    "    d = {'symbolList':['tBTCUSD:bitfinex']}          # 策略参数配置\n",
    "    engine.initStrategy(MultiFrameMaStrategy, d)    # 创建策略对象\n",
    "    engine.runBacktesting()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "TradeDf = pd.DataFrame([engine.tradeDict[str(i+1)].__dict__ for i in range(95)])\n",
    "multiFrameMaTrade = TradeDf.set_index('dt')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                    contractType direction exchange gatewayName offset  \\\n",
      "dt                                                                       \n",
      "2018-05-16 12:01:00                      空                          开仓   \n",
      "2018-05-19 22:01:00                      多                          平仓   \n",
      "2018-05-19 22:01:00                      多                          开仓   \n",
      "2018-05-22 20:01:00                      空                          平仓   \n",
      "2018-05-22 20:01:00                      空                          开仓   \n",
      "\n",
      "                    orderID   price rawData symbol tradeID tradeTime  volume  \\\n",
      "dt                                                                             \n",
      "2018-05-16 12:01:00     107  8152.1    None             91  12:01:00       1   \n",
      "2018-05-19 22:01:00     108  8300.7    None             92  22:01:00       1   \n",
      "2018-05-19 22:01:00     109  8300.7    None             93  22:01:00       1   \n",
      "2018-05-22 20:01:00     110  8207.7    None             94  20:01:00       1   \n",
      "2018-05-22 20:01:00     111  8207.7    None             95  20:01:00       1   \n",
      "\n",
      "                    vtOrderID          vtSymbol vtTradeID  \n",
      "dt                                                         \n",
      "2018-05-16 12:01:00       107  tBTCUSD:bitfinex        91  \n",
      "2018-05-19 22:01:00       108  tBTCUSD:bitfinex        92  \n",
      "2018-05-19 22:01:00       109  tBTCUSD:bitfinex        93  \n",
      "2018-05-22 20:01:00       110  tBTCUSD:bitfinex        94  \n",
      "2018-05-22 20:01:00       111  tBTCUSD:bitfinex        95  \n"
     ]
    }
   ],
   "source": [
    "print(multiFrameMaTrade.tail())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": true,
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "# multiFrameMaTrade.to_excel('tradeMultiFrameMa.xlsx')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 查看绩效与优化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-07-14 14:11:52.429970\t计算按日统计结果\n",
      "2018-07-14 14:11:52.459939\t------------------------------\n",
      "2018-07-14 14:11:52.459939\t首个交易日：\t2018-01-01\n",
      "2018-07-14 14:11:52.459939\t最后交易日：\t2018-06-30\n",
      "2018-07-14 14:11:52.459939\t总交易日：\t181\n",
      "2018-07-14 14:11:52.459939\t盈利交易日\t87\n",
      "2018-07-14 14:11:52.459939\t亏损交易日：\t93\n",
      "2018-07-14 14:11:52.459939\t起始资金：\t1000000\n",
      "2018-07-14 14:11:52.459939\t结束资金：\t1,006,278.2\n",
      "2018-07-14 14:11:52.459939\t总收益率：\t0.63%\n",
      "2018-07-14 14:11:52.459939\t年化收益：\t0.83%\n",
      "2018-07-14 14:11:52.459939\t总盈亏：\t6,278.2\n",
      "2018-07-14 14:11:52.459939\t最大回撤: \t-4,173.62\n",
      "2018-07-14 14:11:52.459939\t百分比最大回撤: -0.41%\n",
      "2018-07-14 14:11:52.459939\t总手续费：\t1,105.26\n",
      "2018-07-14 14:11:52.459939\t总滑点：\t25.0\n",
      "2018-07-14 14:11:52.459939\t总成交金额：\t1,105,261.67\n",
      "2018-07-14 14:11:52.459939\t总成交笔数：\t125\n",
      "2018-07-14 14:11:52.459939\t日均盈亏：\t34.69\n",
      "2018-07-14 14:11:52.459939\t日均手续费：\t6.11\n",
      "2018-07-14 14:11:52.459939\t日均滑点：\t0.14\n",
      "2018-07-14 14:11:52.459939\t日均成交金额：\t6,106.42\n",
      "2018-07-14 14:11:52.459939\t日均成交笔数：\t0.69\n",
      "2018-07-14 14:11:52.460938\t日均收益率：\t0.0%\n",
      "2018-07-14 14:11:52.460938\t收益标准差：\t0.05%\n",
      "2018-07-14 14:11:52.460938\tSharpe Ratio：\t1.01\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nh91ap9s3kPSU+AmDndu3i9q+AACIBMIgwiYcLYOhtLSlO/26idMbbu+I4rjBwRd2jtq+AACIBMIg\nwiYcF5CEFAabaBmM1hXFWWnJuuDcrKjsCwCASCEMImzCMcVKUxePSHUnng4YBqPUTXx5vy4ymaJ4\ntQoAABFAGETYOB3RaRls6gKSaE0vc0W/7KjsBwCASCIMImzCMWYws4kriaV6YwZj1E2cmWpX3/Pa\nR3w/AABEGmEQYROOq4mzQugmrh0zmNouSXabpcHfHVEIg5dd3KXBbfEAAGiLCIMIm7C0DIbSTZyS\nJJNJ6pAReNt29sh3E+f3Pzvi+wAAIBoIgwibaF1NbLGYlZJsC9hFLEW+mzjDadeF3ekiBgAkBsIg\nwibFYWv1reBCvddvujMpZmHw/G6ZdBEDABIGYRBhYzKZlNKKK4qTbJaQr0hOS7GrY7AwGOFu4rO4\n6wgAIIEQBhFWrZlrMJSLR2qlO5PUPj1wGIz0BSSds1Ii+voAAEQTYRBh1Zpxg6FMK1OrsZbBSN+b\nmJZBAEAiifgcHCdOnNBdd92l48ePy2azaenSpTrrrLO0c+dOPfTQQ7JYLMrPz9dtt90mSVqxYoXe\nfvttWa1WzZ8/X/369dPRo0c1a9YsVVZWqlOnTlqyZIkcjsBBALHVupbB0MNgLMcMds4iDAIAEkfE\nWwbLysp04YUX6rnnntOoUaP01FNPSZIWLFigkpISrVmzRrt27dKePXu0e/duvffee1q3bp2WLVum\nhQsXSpJKS0tVUFCg1atXq2/fvlq7dm2ki40WSnW0PAyGciu6WulOe/CpZSJ8B5Kz2tNNDABIHBEP\ng1OnTlVxcbEk6eDBg0pLS5Pb7VZ1dbVycnJkMpmUn5+vrVu3yuVyKT8/XyaTSdnZ2aqpqdHRo0fl\ncrk0ZMgQSdLQoUO1devWSBcbLdSabuKOGaG3uJ3TKVU2a8MJp6XItgxmptoDTnQNAEBbFdZfzXXr\n1umZZ56ps27x4sXq16+fpkyZor/97W/67W9/K7fbLafT6dsmJSVFX3zxhex2uzIyMuqsLy8vl9vt\nVmpqap11oXC5XGF4V7HfR1tSfuxYy59c+bVcrtCeX1FZI5fri4B/q/F4W16GJjjt3lZ/5hwzgVEv\nwVE3gVEvwVE3gVEvgYU1DI4bN07jxo0L+Lff//732rdvn2699Va99NJLqqio8P2toqJCaWlpstls\nDdanpqbK6XSqoqJCycnJvm1DMWjQoNa9oSa4XK6I76OtOVCxTxs/+qjZz7NaTDW9kKMAACAASURB\nVCr41x8oKUytbkkv/FPVp2rC8lr+euR0atVnzjETGPUSHHUTGPUSHHUTWLzXSyyDasS7iZ944gm9\n9NJLks606lksFjmdTtlsNu3fv19er1ebN29WXl6ecnNztXnzZnk8Hh08eFAej0dZWVnKzc3Vxo0b\nJUmbNm2K6w/T6Fp6AUn3s9PDFgSlyHUVcyUxACDRRPxq4htuuEFz5szRCy+8oJqaGi1evFiStHDh\nQs2aNUs1NTXKz89X//79JUl5eXkaP368PB6P7rvvPklScXGx5syZo7KyMmVmZqqkpCTSxUYLtXTM\nYJ9zs8JajnZ2q74rrwrra0pcSQwASDwRD4MdOnTQypUrG6wfMGCAysrKGqyfPn26pk+fHtJrIP6k\ntrBl8IJwh8GItQxyJTEAILEw6TTCytnClsHwh8HITC9zFi2DAIAEQxhEWLWkZbBjpiPoreVaKhJ3\nIbFazOoQ5nICABBrhEGEVUsuILmgW3hbBaXIdBN3ynTIbDaF/XUBAIglwiDCymI2yW5rXmAK98Uj\nUmS6iekiBgAkIsIgws6R1LzDKtzjBaXIdBN35uIRAEACIgwi7JoTBpOTLDovO7RJxJsjEt3EtAwC\nABIRYRBh57CHflj1OidTFkv4D8N2zWwZzEqzN7kNLYMAgEREGETYNadlsEuHyAQsRzPGDPY8J0M3\nXN2rye24+wgAIBERBhF2Kcmh31YuM7XpFrmWCLWb2Goxa8b4gWqf0fSUMdx9BACQiCJ+BxIYT5az\n7YTB8cN6q1uXNFVUnmry9Vp632UAAOIZYRBhl5Ua+mGVkZYckTK0swfuJs7pnKofXNhZR45VyuP1\natw1Z7qHM1MbL0eGMzKhFQCAWCMMIuyaEwaj2TJoNkm33zhA5weY5DqziQtI0gmDAIAExZhBhF1G\nijXkO3U01SLXUo4AYfDfLj03YBCUpOQka6NzE6Y76SIGACQmwiDCzmoxqUMIF2RIkWwZrNtNnOG0\n60f/3rfFZaFlEACQqAiDiIjsEObkc9gtSo7AnUIkyW6zyGr5vnXyx9deKKej8elmMhsZv5iWQssg\nACAxEQYREaHMHxipLuJatd2+Iy47V9fknRNCeWgZBAAYDxeQICJCCoMRupK4lsNu1aA+Z6n4+n4h\nbd9YeQiDAIBERRhERIQSBjMiNF6w1r9ckqPx/9q7GRezNNIySDcxACBBEQYREaF1E0c2DBYO79Os\n7RvrtqZlEACQqBgziIjo0j5FpiYa5CI9ZrC5GptrkKllAACJijCIiEiyWdS+iTGBkW4ZbK7Gwmla\nSnyVFQCAcCEMImK6dHA2+vdIX0DSXMFaBlOSrbJZ+aoAABITv3CIGP9xg/Yki5LqBapIX0DSXOkp\n9oAXm6QxXhAAkMAIg4gY/zA44tJzdV52ep2/x1s3sdlsCnjVcAZhEACQwAiDiJjaMJhkNeuGq3uq\ne9fvw6DZFJ8hK1DXNXcfAQAkMsIgIib7/8Lgv13aTZlpyepxdobvb6kpSbJY4u/wC9RaybQyAIBE\nFn+/xkgYXdqnyGY1a+w1vSRJPf1aBuNtWplagcrFtDIAgERGGETEJNutuvFfe6t9ukOS1K1Lmqz/\n1xoYbxeP1Ap0RTEtgwCAREYYRETdcHUv37LVYla3LqmS4u/ikVoBWwYZMwgASGCEQURU/fn5ascN\nxm03cYCWQaaWAQAkMsIgoqrH/40bbOzWb7FEyyAAwGgIg4iqHmefCYMZbahlMF7HNwIAEA6EQUTV\nednpsphNbWrMIPclBgAksqiFwX379mnQoEGqqqqSJO3cuVPjxo3ThAkTtGLFCt92K1as0NixYzVh\nwgR98MEHkqSjR4+qqKhIhYWFmjFjhk6ePBmtYiPMkmwWnXNWatyGQYfdquQki+9xO+5LDABIcFH5\nlXO73Vq6dKmSkr4fe7VgwQKVlJRozZo12rVrl/bs2aPdu3frvffe07p167Rs2TItXLhQklRaWqqC\nggKtXr1affv21dq1a6NRbERI97PTA97pI174ly2dVkEAQIKLeBj0er269957NXPmTDkcZ+abc7vd\nqq6uVk5Ojkwmk/Lz87V161a5XC7l5+fLZDIpOztbNTU1Onr0qFwul4YMGSJJGjp0qLZu3RrpYiOC\n+pybpdR28XtRhn+rJRNOAwASnTWcL7Zu3To988wzddZlZ2dr5MiR6tOnj2+d2+2W0+n0PU5JSdEX\nX3whu92ujIyMOuvLy8vldruVmppaZ10oXC5Xa95O3OyjLWqsXpJOnZbLdSSKpWmetKRq37L39Mmw\nf8YcM4FRL8FRN4FRL8FRN4FRL4GFNQyOGzdO48aNq7Nu2LBheuGFF/TCCy/om2++UVFRkZ544glV\n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\nnL744gstWbJElZWVyszM1MKFC3XOOefE+i0BQMhoGQRgeK+99pr27NmjP/3pT3r00Ue1f/9+1dTU\n6H//93/1/PPP67XXXlNOTo7++Mc/6j/+4z/UqVMnPfnkk0pJSdE999yjkpISvfjii/rxj3+se++9\nN9ZvBwCape3f6R5AXPnyyy81bNgw9e7dW9L3N2GfMmWKxowZ0+TzR48erVWrVunNN9/Ua6+9piee\neCKk/W7fvl233HKL7z7jXq9XFotFt912m6655ppGnzt//nyNHz9eNptNWVlZGjp0qCwWi7766itd\ndtllMpvNKi8v16ZNm/T555/77hH9xhtv6NNPP1VxcbHvtdxud53X/uCDD7R+/Xo98MADDfb74Ycf\n6qmnntJjjz2muXPnqlevXrr55ptDer+1ioqK9Itf/EJZWVm65ZZbNGfOHPXs2bNZrwHA2AiDAMIu\nOTlZL7/8su/xgQMHNHXqVDkcDg0fPrzR5/o/r7lycnLqPH/v3r2aOHGi3nrrrSZv1u4/YsZqteq7\n777T3r17NWrUKN1www164403lJSUpG+//VbffvutJKlHjx7q0aOHb581NTU6fPhwndf99NNP9dVX\nXwXc58UXX1znhvYtUXuDe0l66qmnWvVaAIyJbmIAEXf22Wfr9ttv18qVKyVJn332mX784x9r/Pjx\nuvrqq1VcXKyqqipJ0vnnn6+jR4/6nnvw4EENHDhQ5eXlks6EtuHDh2vv3r1N7rdPnz5KTk7WgQMH\ntHz5cs2dO1c333yzRowYocLCQl9Is9vt2rp1q6qrq3Xs2DG98847MplMSktLU35+vnr27OkLXfPm\nzVNVVZU+++wzHTlyRPv27dOOHTu0Y8cODRs2TCNGjND111+v1157TYcOHdJjjz2mHTt2aN68edq+\nfbtGjRqlCRMmaNSoUXrnnXdUUFDgK6/L5dKNN96okSNH6qGHHtLp06cD1knt43nz5kmSfvSjH+nQ\noUO65ppr9OGHH0qS1q5dq4KCAo0aNUpFRUX67LPPJJ25UnrRokWaPHmyhg0bpltvvVUVFRUt+FQB\nJArCIICo6NOnj/72t79JksrKyjRmzBitXbtWr7/+ur788ku9/fbbAZ+XnZ2tyy67TBs2bJAkvfvu\nu8rIyFCfPn2a3Ofrr78us9ns6zbdsWOHHn30Ub366qtKS0vT2rVrJUkOh0MXXnihCgoKVFxcrB49\neqiyslInTpzQww8/rB/96Ec6//zz9eWXXyo5OVlZWVmaN2+ejh49qi5duujhhx/WT37yE9lsNr38\n8stavHix3n33XXXp0kW333678vLytGTJEknS3//+d5WUlGjDhg1KSkqqU95//vOf+t3vfqeXXnpJ\ne/fuVVlZWaPvr/Y1n3nmGXXp0sW3ftu2bXr66af1+9//Xhs2bFBBQYGmTZvma/386KOPtHLlSr3y\nyiv6+uuv9eqrrzZZlwASF93EAKLCZDIpOTlZkjR79mxt2bJFTz31lP7xj3/o66+/1okTJ4I+d9Kk\nSXrkkUc0adIkrV27VhMnTgy43f79+zV69GhJ0unTp9W5c2eVlpbK4XBIkgYPHiyn0ylJ6tu3r44d\nO+Z7bmFhoS9c1dq6dasmTZqkESNG1FmfnZ2t2267TQ6HQw6HQ+vXr9fzzz+vX/7yl3r00Ud1+eWX\na+bMmQHL2KVLF5199tkB/zZ69Gi1a9dOkjRq1Cht3LhRhYWFQeslmHfeeUcjR470dY1ff/31euih\nh/Tll19KkoYMGeILor17965TDwCMhzAIICo+/PBD30UlM2fOVE1NjX74wx/qqquu0qFDhxqdt+/y\nyy/XyZMntW3bNu3YsUNLly4NuF39MYP11YZRSb6LTJrr5MmT2rdvn3r16uULV5I0YcIEXX311dqy\nZYveeecdrVixwtea6a827AVisVjqPLZaG56iq6urmyxjoPfl9Xp93c7hqAcAiYNuYgAR99lnn6m0\ntFRFRUWSpM2bN2vatGkaOXKkTCaTdu3apZqamqDPN5lMKiws1M9+9jMVFBTIbrdHq+h1VFZWavHi\nxRo6dGiD1r0JEybo448/1vXXX68HH3xQx48f17Fjx2SxWHwhrCn/9V//perqalVVVekPf/iDhg4d\nKknKysryjQV844036jwn0Ovn5+frlVde8Y0zfOGFF5SRkaFu3bq16H0DSGy0DAIIu8rKSl93rdls\nlt1u18yZM3XVVVdJku68805NmzZN6enpcjgcuuSSS7R///5GX3PMmDFaunSpxo8fH+ni1/Hzn/9c\njz/+uMxms06fPq3LL79cP/vZzxpsN2vWLC1evFi/+tWvZDabddttt6lr167yeDz61a9+pWnTpmnK\nlCmN7qtr166aOHGiTpw4oWHDhum6666TJN1zzz164IEHlJaWpssvv1wdO3b0PWfYsGEqLCxUaWmp\n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\n5TkAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2303ba5d048>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-07-14 14:11:54.355006\t计算回测结果\n",
      "2018-07-14 14:11:54.360000\t------------------------------\n",
      "2018-07-14 14:11:54.360000\t第一笔交易：\t2018-01-08 10:01:00\n",
      "2018-07-14 14:11:54.360000\t最后一笔交易：\t2018-06-30 23:59:00\n",
      "2018-07-14 14:11:54.360000\t总交易次数：\t63\n",
      "2018-07-14 14:11:54.360000\t总盈亏：\t6,271.62\n",
      "2018-07-14 14:11:54.360000\t最大回撤: \t-2,183.19\n",
      "2018-07-14 14:11:54.360000\t平均每笔盈利：\t99.55\n",
      "2018-07-14 14:11:54.360000\t平均每笔滑点：\t0.4\n",
      "2018-07-14 14:11:54.360000\t平均每笔佣金：\t17.65\n",
      "2018-07-14 14:11:54.360000\t胜率\t\t36.51%\n",
      "2018-07-14 14:11:54.360000\t盈利交易平均值\t858.86\n",
      "2018-07-14 14:11:54.360000\t亏损交易平均值\t-337.06\n",
      "2018-07-14 14:11:54.360000\t盈亏比：\t2.55\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n65FHHomvfOUrceutt8YTTzwRl1xySeRyuXjve98bl19+efTp4///FdK2bdti1qxZ8cwzz0RbW1uc\nd9558U//9E/6XkTt7e1x6aWXxmOPPRa5XC7mzp0b/fr10/MSePHFF2P8+PHx7W9/O2pra/W8BE46\n6aSor6+PiIhhw4bFueeeq+9FduONN8bPf/7z2LZtW5x22mlx6KGHJtPz3jmrCnHfffdFW1tb3HHH\nHXHxxRfHVVddVe6Seq1vfetbcemll8brr78eERELFy6MCy64IH7wgx9ElmVx//33l7nC3ufHP/5x\nDB48OH7wgx/E//7f/zvmzZun70X2i1/8IiIibr/99rjgggviq1/9qp6XwLZt22L27NnRv3//iHB+\nKYXXX389siyLW2+9NW699dZYuHChvhfZqlWr4je/+U3cdtttceutt8Zf/vKXpHouEBdRPp+PI444\nIiIiRo8eHWvXri1zRb3X8OHD49prr+18vG7dujj00EMjImLs2LGxcuXKcpXWa3384x+P888/PyIi\nsiyLmpoafS+yY445JubNmxcRERs3boxBgwbpeQksWrQoTj311Bg6dGhEOL+Uwvr162Pr1q1x5pln\nxuTJk2PNmjX6XmQrVqyIAw44ID7/+c/HueeeG0cddVRSPReIi6ilpaXzzz0RETU1NbF9+/YyVtR7\nHXvssVFb+7crgLIsi1wuFxERAwcOjC1btpSrtF5r4MCBUV9fHy0tLfGFL3whLrjgAn0vgdra2pgx\nY0bMmzcvjj/+eD0vsh/+8IcxZMiQzsWNCOeXUujfv3+cddZZcfPNN8fcuXNj2rRp+l5kL730Uqxd\nuzauueaaJHsuEBdRfX19tLa2dj7u6OjYIbRRPH9/jVNra2sMGjSojNX0Xps2bYrJkyfHCSecEMcf\nf7y+l8iiRYvi3nvvjcsuu6zzMqEIPS+Gu+66K1auXBmTJk2K3/3udzFjxozYvHlz5/N6Xhz7779/\nfPKTn4xcLhf7779/DB48OF588cXO5/W98AYPHhzNzc1RV1cXI0eOjH79+u0QgHt7zwXiImpsbIzl\ny5dHRMSaNWvigAMOKHNF6Xj/+98fq1atioiI5cuXx5gxY8pcUe/zwgsvxJlnnhnTp0+PU045JSL0\nvdh+9KMfxY033hgREQMGDIhcLhcf/OAH9byIvv/978d//Md/xK233hoHHnhgLFq0KMaOHavnRXbn\n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\nZsyYaGxsjBUrVkRHR0ds3LgxOjo6YsiQIdHY2BgPPPBAREQsX748mpqayjyD6nHdddd1rhqvX78+\n9t1332hoaOhW/9lzvmK9uO6888646qqrIiLi2WefjZaWlvjwhz/c+Rep5cuXx5gxY+Kggw6KfD4f\nr7/+emzZsiX+9Kc/+Vn0wPvf//7d7rHzd2GcddZZ8dvf/jYiIn7961/HBz7wAT0voBdeeCHOPPPM\nmD59epxyyikRke5x7pvqimzVqlVx++23x1e/+tWI+Gs4WLBgQbS3t0dzc3NceOGFERFx7bXXxvLl\ny6OjoyNmzpwZY8aMiRdeeCFmzJgRra2tsffee8fixYtjr732Kud0qsZ///d/x/Tp0+PVV1+Nmpqa\nmD17dowaNapb/WfP+Yr14mpra4uZM2fGxo0bI5fLxbRp02LvvfeOyy67LLZt2xYjR46M+fPnR01N\nTSxZsiTuuOOOyLIszjnnnDj22GPLXX5Vefrpp+Oiiy6KJUuWxGOPPbbbPd66dWvMmDEjnn/++ejb\nt28sXrw43vnOd5Z7OlXh73u+bt26mDdvXvTt2zf22WefmDdvXtTX1+t5gcyfPz9++tOfxsiRIzu3\nfelLX4r58+cnd5wLxAAAJM0lEwAAJE0gBgAgaQIxAABJE4gBAEiaQAwAQNIEYgAAkiYQAwCQNIEY\nAICkCcQAACRNIAYAIGkCMQAASROIAQBImkAMAEDSBGIAAJImEAMAkDSBGACApNWWu4BSyOfz5S4B\nAIAya2pq2un2JAJxxK4bUCz5fL7k71lq5tg7pDDHiDTmaY69gzn2HinMs5rm2NUCqUsmAABImkAM\nAEDSBGIAAJImEAMAkDSBGACApAnEAAAkTSAGACBpAjEAAEkTiAEASJpADABA0gRiAACSJhADAJA0\ngRgAgKQJxAAAJE0gBgAgaQIxAABJE4gBAEhaxQbiRx55JCZNmvSW7T//+c/j5JNPjokTJ8aSJUvK\nUBkAAL1KVoFuuummbNy4cdmECRN22N7W1pYdc8wx2csvv5y9/vrr2fjx47Pnn3/+bcdbvXp1sUrd\nqWnTpmX77rtvNmLEiB3+mzZt2h6N9eZxKmUscyxfXb19jrsarydjvXmelVJXMedYCT/LFI5Xc+z+\nWL19jm+Ml+J5Z0/HKoWu8mAuy7Ks3KH8ze69997453/+5/jiF7+4wyrw+vXr48tf/nLcfPPNERGx\n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\n7ne/Ow4++OAYP378Ht2HGAAASqlg1xD/z//5P2Py5MmxdevWeOWVV+L73/9+DBkypFDDAwBAURQs\nED/11FNx4YUXxlNPPRUdHR3x7ne/O772ta+95dtKAACgkhTskonZs2fHZz/72Vi1alU8/PDDcfbZ\nZ8dll11WqOEBAKAoChaIX3rppR2+Me64446Ll19+uVDDAwBAURQsENfV1cW6des6H69duzYGDBhQ\nqOEBAKAoCnYN8Ze+9KWYOnVqDB48OLIsi//+7/+Or371q4Ua/v9r787jqir3PY5/NsgMMimKMigK\nKijOA07kUF1T0+o6laeyQZunc63Mzrm38t6TmUezbDxqaQ6VDSpoORyH45ADzqBoiYSKaGoKiICw\n7h++2McBVJTarL2+73/Szebh9+151t4/11r7QURERETkd3HTDXFOTg5vvPEGmZmZJCQkcNddd+Hn\n50fDhg1xd3evihpFRERERH43N33LxCuvvEJUVBSjR4+mtLSUr7/+miZNmqgZFhERERFTqJIzxNOm\nTQMgISGBgQMH3nRRIiIiIiJ/lJs+Q+zm5nbJny/+u4iIiIhIdVdlu0yUsdlsVT2kiIiIiMjv5qZv\nmdi/fz+9evWy/z0nJ4devXphGAY2m40VK1bc7I8QEREREfnd3HRD/MMPP1RFHSIiIiIiDnHTDXH9\n+vWrog4REREREYeo8nuIRURERETMRA2xiIiIiFiaGmIRERERsTQ1xCIiIiJiaWqIRURERMTS1BCL\niIiIiKWpIRYRERERS1NDLCIiIiKWpoZYRERERCxNDbGIiIiIWJoaYhERERGxNDXEIiIiImJpaohF\nRERExNLUEIuIiIiIpakhFhERERFLU0MsIiIiIpamhlhERERELE0NsYiIiIhYmhpiEREREbE0NcQi\nIiIiYmlqiEVERETE0tQQi4iIiIilqSEWEREREUtTQywiIiIilqaGWEREREQsTQ2xiIiIiFiaGmIR\nERERsTQ1xCIiIiJiaTUcXcDFzp07x+jRozlx4gQ+Pj6MHz+eoKCgS54zbtw4tm7dio+PDwDvv/8+\nfn5+jihXRERERJxAtWqI586dS0xMDE8//TTJycm8//77vPrqq5c8JzU1lX/84x9XNMoiIiIiIjei\nWt0ykZKSQrdu3QDo3r07GzZsuOTrpaWlZGZm8te//pWhQ4cyf/58R5QpIiIiIk7EYWeIv/rqKz77\n7LNLHgsODrbf/uDj40Nubu4lXz979izDhw9nxIgRlJSUcP/999O8eXOaNm16zZ+XkpJSdcVfp6v9\nzKKioiueU95j16Mqxyrve6821rXGr8xYVVlXVY5V2Yw3U5ujxrJCxmuNr4zKeD3jVdfXneqa8Wrj\n6XXHuhmrI4c1xIMGDWLQoEGXPPbUU0+Rn58PQH5+PjVr1rzk615eXtx///14eXkB0KlTJ/bu3Xtd\nDXHbtm2rqPLrk5KSctWf6e7uDlxaV3mPXY+qHKu8761orGtlrMxYVVlXVY51IxlvpjZHjGWFjGDe\nY1IZHZexvO+trq871TVjRY/pdcexdVXlWDeS0VGu1pRXq1sm2rRpw+rVqwFYs2bNFf/zDh48yLBh\nwygpKaG4uJitW7cSFxfniFJFRERExElUqw/VDRs2jJdeeolhw4bh5ubGxIkTAZgxYwYRERH06tWL\nAQMGMHjwYNzc3BgwYADR0dEOrlpEREREzKxaNcReXl5MmTLlisdHjBhh//MjjzzCI4888keWJSIi\nIiJOrFrdMiEiIiIi8kdTQywiIiIilqaGWEREREQsTQ2xiIiIiFiaGmIRERERsTQ1xCIiIiJiaWqI\nRURERMTS1BCLiIiIiKWpIRYRERERS1NDLCIiIiKWpoZYRERERCxNDbGIiIiIWJoaYhERERGxNDXE\nIiIiImJpaohFRERExNLUEIuIiIiIpakhFhERERFLU0MsIiIiIpamhlhERERELE0NsYiIiIhYmhpi\nEREREbE0NcQiIiIiYmlqiEVERETE0tQQi4iIiIilqSEWEREREUtTQywiIiIilqaGWEREREQsTQ2x\niIiIiFiaGmIRERERsTQ1xCIiIiJiaWqIRURERMTS1BCLiIiIiKWpIRYRERERS1NDLCIiIiKWpoZY\nRERERCxNDbGIiIiIWJoaYhERERGxNDXEIiIiImJpaohFRERExNLUEIuIiIiIpakhFhERERFLU0Ms\nIiIiIpamhlhERERELE0NsYiIiIhYmhpiEREREbG0atkQL1u2jD//+c/lfu3LL7/k7rvvZvDgwaxc\nufIPrkxEREREnE0NRxdwuXHjxrF27VqaNWt2xdeOHz/OrFmz+PrrryksLOTee++lS5cuuLu7O6DS\nm3fo0CEaNGhwyd/DwsIcPtbl42msyo11s+NpLI2lsarPWJePp7EqN9bNjqexnHMsgEGDBjFhwoQb\n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\nsx2T1+p3yvtAnBkymmuFVUMpKSnMmjWLZs2acd9991G7dm18fHyAC9vBHDp06JLn5+fn069fP9q2\nbcv58+cJDw93RNmVsmXLFhYuXEjv3r3p3LkzgYGBTpcxJSWFzz//nKZNm9K/f3/q1avHww8/jJub\nG2vWrGHnzp3Uq1fP/nwzZoRL1+vQoUM5fPgwBQUFdOnShWbNmnH8+HHWrFlD165d8fT0JC8vz3Q5\nL16vHTp04NChQ2RlZREdHc3AgQNJTU0lOTmZt956C19fX0tkzMnJsf+6U1dXV+6++24HJ7g6wzDI\nz89n0qRJvPLKK7i6urJr1y6KioqcZq2Wl/HMmTOkpaVx8uRJtm3bxunTp8nNzeXuu+/G19eX3Nxc\nU2WES9dqQkICv/zyC56ennTs2JHIyEhcXFxYuXIl7du3x8PDw7SvrZfnDA0NJTw8nBMnTrBy5UqK\nioo4cuQI999/vymPSah8v2O2jLpl4iYsXLiQKVOmcM899/Dbb7/x9NNP88gjj9CoUSNKSkpYtWoV\nAwYMAC58WOD48eNMmjSJs2fP2g+W6m7p0qVMmTKF1q1bs2HDBl5++WVGjRpFo0aNOH/+vFNkLJvH\nu+++m9zcXEaPHg1A69atad++PXXr1mXfvn38/PPPAPzyyy+88847psoIV67XMWPG8OijjzJv3jzy\n8/Px9fUlMjISDw8PTpw4QVZWFlOmTDFVzsvX6xtvvMH999/PDz/8QGBgIN26dWP48OGEhISwfft2\njhw54vQZs7OzmTp1KmfPnnV06dfNZrNx6NAhli1bxrx58wB46KGHmD17NmfPnnWKtXpxxi+++AKA\nxx57jMjISKZOncqDDz7Iww8/TFpaGsuWLSMnJ4d3333XVBnLW6uvvPIK8+bN47vvvuOtt96iXr16\neHt7k5ubS1ZWlilfW8t7nxw6dChhYWEAvPbaa4waNYrMzExWrVpFTk6O6Y7JG+l33nvvPVNlVEN8\nA8o+SXny5Em6detGt27dePLJJ6lZsyZ5eXnAhf0R/fz86N69OzNmzGDSpEkEBwczbtw4vL29HVn+\ndSktLQXg7NmztG3blrvuuouXXnqJ1NRUVq5cCcCJEydMnbGkpAS4dB4fe+wxgoODycvLw8vLC4Du\n3btTWFjI+vXrKSoqIiIigtdff90UGeHfc3n5enVxcaFOnTp069aNN998E4CwsDCys7Px9/cnPDzc\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x230379de8d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 显示逐日回测结果\n",
    "engine.showDailyResult()\n",
    "# 显示逐笔回测结果\n",
    "engine.showBacktestingResult()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-07-14 14:12:08.327739\t计算按日统计结果\n"
     ]
    }
   ],
   "source": [
    "PerfromanceDf = engine.calculateDailyResult()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "PerfromanceDf.to_excel('perfromanceMultiFrameMa.xlsx')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df1, result = engine.calculateDailyStatistics(PerfromanceDf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'annualizedReturn': 0.8324685069686438,\n",
       " 'dailyCommission': 6.106418059031269,\n",
       " 'dailyNetPnl': 34.68618779036102,\n",
       " 'dailyReturn': 0.003457775797119628,\n",
       " 'dailySlippage': 0.13812154696132586,\n",
       " 'dailyTradeCount': 0.6906077348066298,\n",
       " 'dailyTurnover': 6106.418059031271,\n",
       " 'endBalance': 1006278.1999900553,\n",
       " 'endDate': datetime.date(2018, 6, 30),\n",
       " 'lossDays': 93,\n",
       " 'maxDdPercent': -0.4146558015332008,\n",
       " 'maxDrawdown': -4173.618200000026,\n",
       " 'profitDays': 87,\n",
       " 'returnStd': 0.0531376335447008,\n",
       " 'sharpeRatio': 1.0080921699983318,\n",
       " 'startDate': datetime.date(2018, 1, 1),\n",
       " 'totalCommission': 1105.2616686846598,\n",
       " 'totalDays': 181,\n",
       " 'totalNetPnl': 6278.199990055345,\n",
       " 'totalReturn': 0.6278199990055189,\n",
       " 'totalSlippage': 24.999999999999982,\n",
       " 'totalTradeCount': 125,\n",
       " 'totalTurnover': 1105261.66868466}"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-07-14 14:12:22.261496\t------------------------------\n",
      "2018-07-14 14:12:22.261496\tsetting: {'fastWindow': 30, 'slowWindow': 70, 'symbolList': ['tBTCUSD:bitfinex']}\n",
      "2018-07-14 14:12:22.261496\t开始回测\n",
      "2018-07-14 14:12:22.261496\t策略初始化\n",
      "2018-07-14 14:12:22.262494\t载入历史数据。数据范围:[20171231,20180101)\n",
      "2018-07-14 14:12:22.398355\t载入完成，数据量：1414\n",
      "2018-07-14 14:12:22.410343\t策略初始化完成\n",
      "2018-07-14 14:12:22.410343\t策略启动完成\n",
      "2018-07-14 14:12:22.410343\t开始回放回测数据,回测范围:[20180101,20180701)\n",
      "2018-07-14 14:12:22.411342\t载入历史数据。数据范围:[20180101,20180311)\n",
      "2018-07-14 14:12:30.987588\t载入完成，数据量：99357\n",
      "2018-07-14 14:12:30.987588\t当前回放数据:[20180101,20180311)\n",
      "2018-07-14 14:12:32.390154\t载入历史数据。数据范围:[20180311,20180519)\n",
      "2018-07-14 14:12:40.869498\t载入完成，数据量：99073\n",
      "2018-07-14 14:12:40.905462\t当前回放数据:[20180311,20180519)\n",
      "2018-07-14 14:12:42.354982\t载入历史数据。数据范围:[20180519,20180701)\n",
      "2018-07-14 14:12:47.503724\t载入完成，数据量：61359\n",
      "2018-07-14 14:12:47.551675\t当前回放数据:[20180519,20180701)\n",
      "2018-07-14 14:12:48.389818\t数据回放结束ss: 100%    \n",
      "2018-07-14 14:12:48.389818\t计算按日统计结果\n",
      "2018-07-14 14:12:48.437770\t------------------------------\n",
      "2018-07-14 14:12:48.437770\tsetting: {'fastWindow': 30, 'slowWindow': 80, 'symbolList': ['tBTCUSD:bitfinex']}\n",
      "2018-07-14 14:12:48.437770\t开始回测\n",
      "2018-07-14 14:12:48.437770\t策略初始化\n",
      "2018-07-14 14:12:48.437770\t载入历史数据。数据范围:[20171231,20180101)\n",
      "2018-07-14 14:12:48.557649\t载入完成，数据量：1414\n",
      "2018-07-14 14:12:48.570634\t策略初始化完成\n",
      "2018-07-14 14:12:48.570634\t策略启动完成\n",
      "2018-07-14 14:12:48.570634\t开始回放回测数据,回测范围:[20180101,20180701)\n",
      "2018-07-14 14:12:48.571633\t载入历史数据。数据范围:[20180101,20180311)\n",
      "2018-07-14 14:12:56.972058\t载入完成，数据量：99357\n",
      "2018-07-14 14:12:56.973056\t当前回放数据:[20180101,20180311)\n",
      "2018-07-14 14:12:58.393605\t载入历史数据。数据范围:[20180311,20180519)\n",
      "2018-07-14 14:13:06.545284\t载入完成，数据量：99073\n",
      "2018-07-14 14:13:06.582245\t当前回放数据:[20180311,20180519)\n",
      "2018-07-14 14:13:08.030766\t载入历史数据。数据范围:[20180519,20180701)\n",
      "2018-07-14 14:13:13.018674\t载入完成，数据量：61359\n",
      "2018-07-14 14:13:13.056635\t当前回放数据:[20180519,20180701)\n",
      "2018-07-14 14:13:13.898774\t数据回放结束ss: 100%    \n",
      "2018-07-14 14:13:13.898774\t计算按日统计结果\n",
      "2018-07-14 14:13:13.946725\t------------------------------\n",
      "2018-07-14 14:13:13.946725\tsetting: {'fastWindow': 30, 'slowWindow': 90, 'symbolList': ['tBTCUSD:bitfinex']}\n",
      "2018-07-14 14:13:13.946725\t开始回测\n",
      "2018-07-14 14:13:13.946725\t策略初始化\n",
      "2018-07-14 14:13:13.946725\t载入历史数据。数据范围:[20171231,20180101)\n",
      "2018-07-14 14:13:14.068603\t载入完成，数据量：1414\n",
      "2018-07-14 14:13:14.080589\t策略初始化完成\n",
      "2018-07-14 14:13:14.081588\t策略启动完成\n",
      "2018-07-14 14:13:14.081588\t开始回放回测数据,回测范围:[20180101,20180701)\n",
      "2018-07-14 14:13:14.082587\t载入历史数据。数据范围:[20180101,20180311)\n",
      "2018-07-14 14:13:22.351145\t载入完成，数据量：99357\n",
      "2018-07-14 14:13:22.351145\t当前回放数据:[20180101,20180311)\n",
      "2018-07-14 14:13:23.710757\t载入历史数据。数据范围:[20180311,20180519)\n",
      "2018-07-14 14:13:31.874422\t载入完成，数据量：99073\n",
      "2018-07-14 14:13:31.910385\t当前回放数据:[20180311,20180519)\n",
      "2018-07-14 14:13:33.133136\t载入历史数据。数据范围:[20180519,20180701)\n",
      "2018-07-14 14:13:38.424734\t载入完成，数据量：61359\n",
      "2018-07-14 14:13:38.466692\t当前回放数据:[20180519,20180701)\n",
      "2018-07-14 14:13:39.458678\t数据回放结束ss: 100%    \n",
      "2018-07-14 14:13:39.458678\t计算按日统计结果\n",
      "2018-07-14 14:13:39.508628\t------------------------------\n",
      "2018-07-14 14:13:39.509627\tsetting: {'fastWindow': 40, 'slowWindow': 70, 'symbolList': ['tBTCUSD:bitfinex']}\n",
      "2018-07-14 14:13:39.509627\t开始回测\n",
      "2018-07-14 14:13:39.509627\t策略初始化\n",
      "2018-07-14 14:13:39.509627\t载入历史数据。数据范围:[20171231,20180101)\n",
      "2018-07-14 14:13:39.641491\t载入完成，数据量：1414\n",
      "2018-07-14 14:13:39.654478\t策略初始化完成\n",
      "2018-07-14 14:13:39.654478\t策略启动完成\n",
      "2018-07-14 14:13:39.654478\t开始回放回测数据,回测范围:[20180101,20180701)\n",
      "2018-07-14 14:13:39.654478\t载入历史数据。数据范围:[20180101,20180311)\n",
      "2018-07-14 14:13:48.011946\t载入完成，数据量：99357\n",
      "2018-07-14 14:13:48.011946\t当前回放数据:[20180101,20180311)\n",
      "2018-07-14 14:13:49.253679\t载入历史数据。数据范围:[20180311,20180519)\n",
      "2018-07-14 14:13:57.726028\t载入完成，数据量：99073\n",
      "2018-07-14 14:13:57.758995\t当前回放数据:[20180311,20180519)\n",
      "2018-07-14 14:13:58.999730\t载入历史数据。数据范围:[20180519,20180701)\n",
      "2018-07-14 14:14:04.150469\t载入完成，数据量：61359\n",
      "2018-07-14 14:14:04.186432\t当前回放数据:[20180519,20180701)\n",
      "2018-07-14 14:14:05.084515\t数据回放结束ss: 100%    \n",
      "2018-07-14 14:14:05.084515\t计算按日统计结果\n",
      "2018-07-14 14:14:05.132466\t------------------------------\n",
      "2018-07-14 14:14:05.133465\tsetting: {'fastWindow': 40, 'slowWindow': 80, 'symbolList': ['tBTCUSD:bitfinex']}\n",
      "2018-07-14 14:14:05.133465\t开始回测\n",
      "2018-07-14 14:14:05.133465\t策略初始化\n",
      "2018-07-14 14:14:05.133465\t载入历史数据。数据范围:[20171231,20180101)\n",
      "2018-07-14 14:14:05.261335\t载入完成，数据量：1414\n",
      "2018-07-14 14:14:05.275320\t策略初始化完成\n",
      "2018-07-14 14:14:05.275320\t策略启动完成\n",
      "2018-07-14 14:14:05.275320\t开始回放回测数据,回测范围:[20180101,20180701)\n",
      "2018-07-14 14:14:05.276320\t载入历史数据。数据范围:[20180101,20180311)\n",
      "2018-07-14 14:14:13.670749\t载入完成，数据量：99357\n",
      "2018-07-14 14:14:13.671748\t当前回放数据:[20180101,20180311)\n",
      "2018-07-14 14:14:14.934459\t载入历史数据。数据范围:[20180311,20180519)\n",
      "2018-07-14 14:14:22.988237\t载入完成，数据量：99073\n",
      "2018-07-14 14:14:23.036189\t当前回放数据:[20180311,20180519)\n",
      "2018-07-14 14:14:24.334861\t载入历史数据。数据范围:[20180519,20180701)\n",
      "2018-07-14 14:14:29.413678\t载入完成，数据量：61359\n",
      "2018-07-14 14:14:29.448640\t当前回放数据:[20180519,20180701)\n",
      "2018-07-14 14:14:30.283787\t数据回放结束ss: 100%    \n",
      "2018-07-14 14:14:30.283787\t计算按日统计结果\n",
      "2018-07-14 14:14:30.338730\t------------------------------\n",
      "2018-07-14 14:14:30.339730\tsetting: {'fastWindow': 40, 'slowWindow': 90, 'symbolList': ['tBTCUSD:bitfinex']}\n",
      "2018-07-14 14:14:30.339730\t开始回测\n",
      "2018-07-14 14:14:30.339730\t策略初始化\n",
      "2018-07-14 14:14:30.339730\t载入历史数据。数据范围:[20171231,20180101)\n",
      "2018-07-14 14:14:30.474594\t载入完成，数据量：1414\n",
      "2018-07-14 14:14:30.486580\t策略初始化完成\n",
      "2018-07-14 14:14:30.486580\t策略启动完成\n",
      "2018-07-14 14:14:30.486580\t开始回放回测数据,回测范围:[20180101,20180701)\n",
      "2018-07-14 14:14:30.487578\t载入历史数据。数据范围:[20180101,20180311)\n",
      "2018-07-14 14:14:38.631266\t载入完成，数据量：99357\n",
      "2018-07-14 14:14:38.631266\t当前回放数据:[20180101,20180311)\n",
      "2018-07-14 14:14:40.009858\t载入历史数据。数据范围:[20180311,20180519)\n",
      "2018-07-14 14:14:48.153543\t载入完成，数据量：99073\n",
      "2018-07-14 14:14:48.186509\t当前回放数据:[20180311,20180519)\n",
      "2018-07-14 14:14:49.478190\t载入历史数据。数据范围:[20180519,20180701)\n",
      "2018-07-14 14:14:54.515049\t载入完成，数据量：61359\n",
      "2018-07-14 14:14:54.570991\t当前回放数据:[20180519,20180701)\n",
      "2018-07-14 14:14:55.462082\t数据回放结束ss: 100%    \n",
      "2018-07-14 14:14:55.462082\t计算按日统计结果\n",
      "2018-07-14 14:14:55.510032\t------------------------------\n",
      "2018-07-14 14:14:55.510032\tsetting: {'fastWindow': 50, 'slowWindow': 70, 'symbolList': ['tBTCUSD:bitfinex']}\n",
      "2018-07-14 14:14:55.510032\t开始回测\n",
      "2018-07-14 14:14:55.510032\t策略初始化\n",
      "2018-07-14 14:14:55.510032\t载入历史数据。数据范围:[20171231,20180101)\n",
      "2018-07-14 14:14:55.632908\t载入完成，数据量：1414\n",
      "2018-07-14 14:14:55.642896\t策略初始化完成\n",
      "2018-07-14 14:14:55.643895\t策略启动完成\n",
      "2018-07-14 14:14:55.644895\t开始回放回测数据,回测范围:[20180101,20180701)\n",
      "2018-07-14 14:14:55.644895\t载入历史数据。数据范围:[20180101,20180311)\n",
      "2018-07-14 14:15:03.792576\t载入完成，数据量：99357\n",
      "2018-07-14 14:15:03.793575\t当前回放数据:[20180101,20180311)\n",
      "2018-07-14 14:15:05.204134\t载入历史数据。数据范围:[20180311,20180519)\n",
      "2018-07-14 14:15:13.373794\t载入完成，数据量：99073\n",
      "2018-07-14 14:15:13.408758\t当前回放数据:[20180311,20180519)\n",
      "2018-07-14 14:15:14.849288\t载入历史数据。数据范围:[20180519,20180701)\n",
      "2018-07-14 14:15:19.879151\t载入完成，数据量：61359\n",
      "2018-07-14 14:15:19.927102\t当前回放数据:[20180519,20180701)\n",
      "2018-07-14 14:15:20.764247\t数据回放结束ss: 100%    \n",
      "2018-07-14 14:15:20.764247\t计算按日统计结果\n",
      "2018-07-14 14:15:20.811199\t------------------------------\n",
      "2018-07-14 14:15:20.811199\tsetting: {'fastWindow': 50, 'slowWindow': 80, 'symbolList': ['tBTCUSD:bitfinex']}\n",
      "2018-07-14 14:15:20.811199\t开始回测\n",
      "2018-07-14 14:15:20.811199\t策略初始化\n",
      "2018-07-14 14:15:20.811199\t载入历史数据。数据范围:[20171231,20180101)\n",
      "2018-07-14 14:15:20.946062\t载入完成，数据量：1414\n",
      "2018-07-14 14:15:20.959048\t策略初始化完成\n",
      "2018-07-14 14:15:20.959048\t策略启动完成\n",
      "2018-07-14 14:15:20.959048\t开始回放回测数据,回测范围:[20180101,20180701)\n",
      "2018-07-14 14:15:20.960047\t载入历史数据。数据范围:[20180101,20180311)\n",
      "2018-07-14 14:15:29.387443\t载入完成，数据量：99357\n",
      "2018-07-14 14:15:29.388443\t当前回放数据:[20180101,20180311)\n",
      "2018-07-14 14:15:30.809990\t载入历史数据。数据范围:[20180311,20180519)\n",
      "2018-07-14 14:15:39.126500\t载入完成，数据量：99073\n",
      "2018-07-14 14:15:39.159466\t当前回放数据:[20180311,20180519)\n",
      "2018-07-14 14:15:40.448151\t载入历史数据。数据范围:[20180519,20180701)\n",
      "2018-07-14 14:15:45.471022\t载入完成，数据量：61359\n",
      "2018-07-14 14:15:45.504988\t当前回放数据:[20180519,20180701)\n",
      "2018-07-14 14:15:46.579890\t数据回放结束ss: 100%    \n",
      "2018-07-14 14:15:46.579890\t计算按日统计结果\n",
      "2018-07-14 14:15:46.629839\t------------------------------\n",
      "2018-07-14 14:15:46.629839\tsetting: {'fastWindow': 50, 'slowWindow': 90, 'symbolList': ['tBTCUSD:bitfinex']}\n",
      "2018-07-14 14:15:46.629839\t开始回测\n",
      "2018-07-14 14:15:46.629839\t策略初始化\n",
      "2018-07-14 14:15:46.629839\t载入历史数据。数据范围:[20171231,20180101)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2018-07-14 14:15:46.757710\t载入完成，数据量：1414\n",
      "2018-07-14 14:15:46.782684\t策略初始化完成\n",
      "2018-07-14 14:15:46.782684\t策略启动完成\n",
      "2018-07-14 14:15:46.782684\t开始回放回测数据,回测范围:[20180101,20180701)\n",
      "2018-07-14 14:15:46.783683\t载入历史数据。数据范围:[20180101,20180311)\n",
      "2018-07-14 14:15:55.048245\t载入完成，数据量：99357\n",
      "2018-07-14 14:15:55.049245\t当前回放数据:[20180101,20180311)\n",
      "2018-07-14 14:15:56.429834\t载入历史数据。数据范围:[20180311,20180519)\n",
      "2018-07-14 14:16:04.437659\t载入完成，数据量：99073\n",
      "2018-07-14 14:16:04.477618\t当前回放数据:[20180311,20180519)\n",
      "2018-07-14 14:16:05.943121\t载入历史数据。数据范围:[20180519,20180701)\n",
      "2018-07-14 14:16:10.850112\t载入完成，数据量：61359\n",
      "2018-07-14 14:16:10.883077\t当前回放数据:[20180519,20180701)\n",
      "2018-07-14 14:16:11.774169\t数据回放结束ss: 100%    \n",
      "2018-07-14 14:16:11.774169\t计算按日统计结果\n",
      "2018-07-14 14:16:11.795146\t------------------------------\n",
      "2018-07-14 14:16:11.795146\t优化结果：\n",
      "2018-07-14 14:16:11.795146\t参数：[\"{'fastWindow': 40, 'slowWindow': 70, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：10680.548199999987\n",
      "2018-07-14 14:16:11.795146\t参数：[\"{'fastWindow': 30, 'slowWindow': 80, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：7708.987241559517\n",
      "2018-07-14 14:16:11.795146\t参数：[\"{'fastWindow': 50, 'slowWindow': 70, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：7373.351578937109\n",
      "2018-07-14 14:16:11.795146\t参数：[\"{'fastWindow': 30, 'slowWindow': 90, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：5944.007183699503\n",
      "2018-07-14 14:16:11.795146\t参数：[\"{'fastWindow': 30, 'slowWindow': 70, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：5036.003355478044\n",
      "2018-07-14 14:16:11.795146\t参数：[\"{'fastWindow': 40, 'slowWindow': 80, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：4791.802000000001\n",
      "2018-07-14 14:16:11.795146\t参数：[\"{'fastWindow': 50, 'slowWindow': 80, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：1582.2888000000044\n",
      "2018-07-14 14:16:11.795146\t参数：[\"{'fastWindow': 40, 'slowWindow': 90, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：1542.6941230885925\n",
      "2018-07-14 14:16:11.795146\t参数：[\"{'fastWindow': 50, 'slowWindow': 90, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：-1231.5627329943013\n",
      "耗时：229.56861567497253\n"
     ]
    }
   ],
   "source": [
    "# 优化配置\n",
    "setting = OptimizationSetting()                 # 新建一个优化任务设置对象\n",
    "setting.setOptimizeTarget('totalNetPnl')        # 设置优化排序的目标是策略净盈利\n",
    "setting.addParameter('fastWindow', 30, 50, 10)    # 增加第一个优化参数atrLength，起始12，结束20，步进2\n",
    "setting.addParameter('slowWindow', 70, 90, 10)        # 增加第二个优化参数atrMa，起始20，结束30，步进5\n",
    "setting.addParameter('symbolList', ['tBTCUSD:bitfinex']) \n",
    "#setting.addParameter('rsiLength', 5)            # 增加一个固定数值的参数\n",
    "\n",
    "# 执行多进程优化\n",
    "import time\n",
    "start = time.time()\n",
    "# resultList = engine.runParallelOptimization(MultiFrameMaStrategy, setting)\n",
    "resultList = engine.runOptimization(MultiFrameMaStrategy, setting)\n",
    "print('耗时：%s' %(time.time()-start))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[([\"{'fastWindow': 40, 'slowWindow': 70, 'symbolList': ['tBTCUSD:bitfinex']}\"],\n",
       "  10680.548199999987,\n",
       "  {'annualizedReturn': 1.4162052861878272,\n",
       "   'dailyCommission': 4.70691602209945,\n",
       "   'dailyNetPnl': 59.008553591160144,\n",
       "   'dailyReturn': 0.0058695657702081214,\n",
       "   'dailySlippage': 0.10497237569060773,\n",
       "   'dailyTradeCount': 0.5248618784530387,\n",
       "   'dailyTurnover': 4706.916022099448,\n",
       "   'endBalance': 1010680.5482,\n",
       "   'endDate': datetime.date(2018, 6, 30),\n",
       "   'lossDays': 80,\n",
       "   'maxDdPercent': -0.32755057808384364,\n",
       "   'maxDrawdown': -3293.680000000051,\n",
       "   'profitDays': 99,\n",
       "   'returnStd': 0.052348857560623414,\n",
       "   'sharpeRatio': 1.737018268347818,\n",
       "   'startDate': datetime.date(2018, 1, 1),\n",
       "   'totalCommission': 851.9518000000004,\n",
       "   'totalDays': 181,\n",
       "   'totalNetPnl': 10680.548199999987,\n",
       "   'totalReturn': 1.0680548199999862,\n",
       "   'totalSlippage': 19.0,\n",
       "   'totalTradeCount': 95,\n",
       "   'totalTurnover': 851951.8000000002}),\n",
       " ([\"{'fastWindow': 30, 'slowWindow': 80, 'symbolList': ['tBTCUSD:bitfinex']}\"],\n",
       "  7708.987241559517,\n",
       "  {'annualizedReturn': 1.0221861535769423,\n",
       "   'dailyCommission': 4.982954684864532,\n",
       "   'dailyNetPnl': 42.59108973237302,\n",
       "   'dailyReturn': 0.004242776150846575,\n",
       "   'dailySlippage': 0.11160220994475138,\n",
       "   'dailyTradeCount': 0.5580110497237569,\n",
       "   'dailyTurnover': 4982.9546848645305,\n",
       "   'endBalance': 1007708.9872415595,\n",
       "   'endDate': datetime.date(2018, 6, 30),\n",
       "   'lossDays': 86,\n",
       "   'maxDdPercent': -0.26845861447157254,\n",
       "   'maxDrawdown': -2699.43135844043,\n",
       "   'profitDays': 93,\n",
       "   'returnStd': 0.05192929909868652,\n",
       "   'sharpeRatio': 1.2657364269590476,\n",
       "   'startDate': datetime.date(2018, 1, 1),\n",
       "   'totalCommission': 901.9147979604802,\n",
       "   'totalDays': 181,\n",
       "   'totalNetPnl': 7708.987241559517,\n",
       "   'totalReturn': 0.770898724155944,\n",
       "   'totalSlippage': 20.2,\n",
       "   'totalTradeCount': 101,\n",
       "   'totalTurnover': 901914.79796048}),\n",
       " ([\"{'fastWindow': 50, 'slowWindow': 70, 'symbolList': ['tBTCUSD:bitfinex']}\"],\n",
       "  7373.351578937109,\n",
       "  {'annualizedReturn': 0.9776819773176328,\n",
       "   'dailyCommission': 6.018364080900001,\n",
       "   'dailyNetPnl': 40.73674905490115,\n",
       "   'dailyReturn': 0.004058730004552848,\n",
       "   'dailySlippage': 0.13591160220994467,\n",
       "   'dailyTradeCount': 0.6795580110497238,\n",
       "   'dailyTurnover': 6018.364080900003,\n",
       "   'endBalance': 1007373.3515789371,\n",
       "   'endDate': datetime.date(2018, 6, 30),\n",
       "   'lossDays': 85,\n",
       "   'maxDdPercent': -0.6244076832830857,\n",
       "   'maxDrawdown': -6284.189999999944,\n",
       "   'profitDays': 94,\n",
       "   'returnStd': 0.05091185400275777,\n",
       "   'sharpeRatio': 1.2350281891941355,\n",
       "   'startDate': datetime.date(2018, 1, 1),\n",
       "   'totalCommission': 1089.3238986429003,\n",
       "   'totalDays': 181,\n",
       "   'totalNetPnl': 7373.351578937109,\n",
       "   'totalReturn': 0.7373351578937148,\n",
       "   'totalSlippage': 24.599999999999984,\n",
       "   'totalTradeCount': 123,\n",
       "   'totalTurnover': 1089323.8986429004}),\n",
       " ([\"{'fastWindow': 30, 'slowWindow': 90, 'symbolList': ['tBTCUSD:bitfinex']}\"],\n",
       "  5944.007183699503,\n",
       "  {'annualizedReturn': 0.7881556486673482,\n",
       "   'dailyCommission': 5.130618743207182,\n",
       "   'dailyNetPnl': 32.83981869447239,\n",
       "   'dailyReturn': 0.003274260367631701,\n",
       "   'dailySlippage': 0.11602209944751381,\n",
       "   'dailyTradeCount': 0.580110497237569,\n",
       "   'dailyTurnover': 5130.618743207182,\n",
       "   'endBalance': 1005944.0071836995,\n",
       "   'endDate': datetime.date(2018, 6, 30),\n",
       "   'lossDays': 88,\n",
       "   'maxDdPercent': -0.3649306581477516,\n",
       "   'maxDrawdown': -3665.133999999962,\n",
       "   'profitDays': 90,\n",
       "   'returnStd': 0.05220993838780546,\n",
       "   'sharpeRatio': 0.9715511082040623,\n",
       "   'startDate': datetime.date(2018, 1, 1),\n",
       "   'totalCommission': 928.6419925205,\n",
       "   'totalDays': 181,\n",
       "   'totalNetPnl': 5944.007183699503,\n",
       "   'totalReturn': 0.5944007183699584,\n",
       "   'totalSlippage': 21.0,\n",
       "   'totalTradeCount': 105,\n",
       "   'totalTurnover': 928641.9925204999}),\n",
       " ([\"{'fastWindow': 30, 'slowWindow': 70, 'symbolList': ['tBTCUSD:bitfinex']}\"],\n",
       "  5036.003355478044,\n",
       "  {'annualizedReturn': 0.6677573510026288,\n",
       "   'dailyCommission': 5.319468543436243,\n",
       "   'dailyNetPnl': 27.82322295844223,\n",
       "   'dailyReturn': 0.002775339836283465,\n",
       "   'dailySlippage': 0.1204419889502762,\n",
       "   'dailyTradeCount': 0.6022099447513812,\n",
       "   'dailyTurnover': 5319.468543436241,\n",
       "   'endBalance': 1005036.003355478,\n",
       "   'endDate': datetime.date(2018, 6, 30),\n",
       "   'lossDays': 89,\n",
       "   'maxDdPercent': -0.34105244974666554,\n",
       "   'maxDrawdown': -3428.359599999967,\n",
       "   'profitDays': 90,\n",
       "   'returnStd': 0.052710068776418637,\n",
       "   'sharpeRatio': 0.8156957648137757,\n",
       "   'startDate': datetime.date(2018, 1, 1),\n",
       "   'totalCommission': 962.82380636196,\n",
       "   'totalDays': 181,\n",
       "   'totalNetPnl': 5036.003355478044,\n",
       "   'totalReturn': 0.5036003355478158,\n",
       "   'totalSlippage': 21.799999999999994,\n",
       "   'totalTradeCount': 109,\n",
       "   'totalTurnover': 962823.8063619597}),\n",
       " ([\"{'fastWindow': 40, 'slowWindow': 80, 'symbolList': ['tBTCUSD:bitfinex']}\"],\n",
       "  4791.802000000001,\n",
       "  {'annualizedReturn': 0.6353770607734749,\n",
       "   'dailyCommission': 4.716563535911604,\n",
       "   'dailyNetPnl': 26.47404419889503,\n",
       "   'dailyReturn': 0.002641081691123759,\n",
       "   'dailySlippage': 0.10497237569060773,\n",
       "   'dailyTradeCount': 0.5248618784530387,\n",
       "   'dailyTurnover': 4716.563535911602,\n",
       "   'endBalance': 1004791.802,\n",
       "   'endDate': datetime.date(2018, 6, 30),\n",
       "   'lossDays': 89,\n",
       "   'maxDdPercent': -0.5211186872230685,\n",
       "   'maxDrawdown': -5239.23199999996,\n",
       "   'profitDays': 90,\n",
       "   'returnStd': 0.052240471465879346,\n",
       "   'sharpeRatio': 0.7832138660828574,\n",
       "   'startDate': datetime.date(2018, 1, 1),\n",
       "   'totalCommission': 853.6980000000003,\n",
       "   'totalDays': 181,\n",
       "   'totalNetPnl': 4791.802000000001,\n",
       "   'totalReturn': 0.4791801999999956,\n",
       "   'totalSlippage': 19.0,\n",
       "   'totalTradeCount': 95,\n",
       "   'totalTurnover': 853698.0}),\n",
       " ([\"{'fastWindow': 50, 'slowWindow': 80, 'symbolList': ['tBTCUSD:bitfinex']}\"],\n",
       "  1582.2888000000044,\n",
       "  {'annualizedReturn': 0.2098062497237419,\n",
       "   'dailyCommission': 4.71166408839779,\n",
       "   'dailyNetPnl': 8.741927071823229,\n",
       "   'dailyReturn': 0.0008735018232070596,\n",
       "   'dailySlippage': 0.10497237569060773,\n",
       "   'dailyTradeCount': 0.5248618784530387,\n",
       "   'dailyTurnover': 4711.664088397789,\n",
       "   'endBalance': 1001582.2888,\n",
       "   'endDate': datetime.date(2018, 6, 30),\n",
       "   'lossDays': 92,\n",
       "   'maxDdPercent': -0.6340603500046265,\n",
       "   'maxDrawdown': -6365.939999999944,\n",
       "   'profitDays': 87,\n",
       "   'returnStd': 0.051630863112887164,\n",
       "   'sharpeRatio': 0.26209579388715193,\n",
       "   'startDate': datetime.date(2018, 1, 1),\n",
       "   'totalCommission': 852.8112000000001,\n",
       "   'totalDays': 181,\n",
       "   'totalNetPnl': 1582.2888000000044,\n",
       "   'totalReturn': 0.1582288799999887,\n",
       "   'totalSlippage': 19.0,\n",
       "   'totalTradeCount': 95,\n",
       "   'totalTurnover': 852811.1999999997}),\n",
       " ([\"{'fastWindow': 40, 'slowWindow': 90, 'symbolList': ['tBTCUSD:bitfinex']}\"],\n",
       "  1542.6941230885925,\n",
       "  {'annualizedReturn': 0.2045561268183934,\n",
       "   'dailyCommission': 4.701735957632157,\n",
       "   'dailyNetPnl': 8.523171950765704,\n",
       "   'dailyReturn': 0.0008516604380763517,\n",
       "   'dailySlippage': 0.10497237569060773,\n",
       "   'dailyTradeCount': 0.5248618784530387,\n",
       "   'dailyTurnover': 4701.735957632157,\n",
       "   'endBalance': 1001542.6941230886,\n",
       "   'endDate': datetime.date(2018, 6, 30),\n",
       "   'lossDays': 90,\n",
       "   'maxDdPercent': -0.6334505219038683,\n",
       "   'maxDrawdown': -6353.93200000003,\n",
       "   'profitDays': 88,\n",
       "   'returnStd': 0.05404397814726923,\n",
       "   'sharpeRatio': 0.2441320425602378,\n",
       "   'startDate': datetime.date(2018, 1, 1),\n",
       "   'totalCommission': 851.0142083314204,\n",
       "   'totalDays': 181,\n",
       "   'totalNetPnl': 1542.6941230885925,\n",
       "   'totalReturn': 0.1542694123088717,\n",
       "   'totalSlippage': 19.0,\n",
       "   'totalTradeCount': 95,\n",
       "   'totalTurnover': 851014.2083314203}),\n",
       " ([\"{'fastWindow': 50, 'slowWindow': 90, 'symbolList': ['tBTCUSD:bitfinex']}\"],\n",
       "  -1231.5627329943013,\n",
       "  {'annualizedReturn': -0.16330113586664696,\n",
       "   'dailyCommission': 4.715414515438122,\n",
       "   'dailyNetPnl': -6.8042139944436535,\n",
       "   'dailyReturn': -0.000680840734590159,\n",
       "   'dailySlippage': 0.10497237569060773,\n",
       "   'dailyTradeCount': 0.5248618784530387,\n",
       "   'dailyTurnover': 4715.41451543812,\n",
       "   'endBalance': 998768.4372670057,\n",
       "   'endDate': datetime.date(2018, 6, 30),\n",
       "   'lossDays': 94,\n",
       "   'maxDdPercent': -0.6643727950438507,\n",
       "   'maxDrawdown': -6670.234000000055,\n",
       "   'profitDays': 84,\n",
       "   'returnStd': 0.05466107089185643,\n",
       "   'sharpeRatio': -0.19296254416268022,\n",
       "   'startDate': datetime.date(2018, 1, 1),\n",
       "   'totalCommission': 853.4900272943001,\n",
       "   'totalDays': 181,\n",
       "   'totalNetPnl': -1231.5627329943013,\n",
       "   'totalReturn': -0.12315627329942958,\n",
       "   'totalSlippage': 19.0,\n",
       "   'totalTradeCount': 95,\n",
       "   'totalTurnover': 853490.0272942998})]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "resultList"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                                                   0             1  \\\n",
      "0  [{'fastWindow': 40, 'slowWindow': 70, 'symbolL...  10680.548200   \n",
      "1  [{'fastWindow': 30, 'slowWindow': 80, 'symbolL...   7708.987242   \n",
      "2  [{'fastWindow': 50, 'slowWindow': 70, 'symbolL...   7373.351579   \n",
      "3  [{'fastWindow': 30, 'slowWindow': 90, 'symbolL...   5944.007184   \n",
      "4  [{'fastWindow': 30, 'slowWindow': 70, 'symbolL...   5036.003355   \n",
      "\n",
      "                                                   2  \n",
      "0  {'startDate': 2018-01-01, 'endDate': 2018-06-3...  \n",
      "1  {'startDate': 2018-01-01, 'endDate': 2018-06-3...  \n",
      "2  {'startDate': 2018-01-01, 'endDate': 2018-06-3...  \n",
      "3  {'startDate': 2018-01-01, 'endDate': 2018-06-3...  \n",
      "4  {'startDate': 2018-01-01, 'endDate': 2018-06-3...  \n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "print(pd.DataFrame(resultList).sort_values(1,  ascending=False).iloc[0:5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "------------------------------\n",
      "参数：[\"{'fastWindow': 40, 'slowWindow': 70, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：10680.548199999987\n",
      "统计数据：\n",
      "startDate：2018-01-01\n",
      "endDate：2018-06-30\n",
      "totalDays：181\n",
      "profitDays：99\n",
      "lossDays：80\n",
      "endBalance：1010680.5482\n",
      "maxDrawdown：-3293.680000000051\n",
      "maxDdPercent：-0.32755057808384364\n",
      "totalNetPnl：10680.548199999987\n",
      "dailyNetPnl：59.008553591160144\n",
      "totalCommission：851.9518000000004\n",
      "dailyCommission：4.70691602209945\n",
      "totalSlippage：19.0\n",
      "dailySlippage：0.10497237569060773\n",
      "totalTurnover：851951.8000000002\n",
      "dailyTurnover：4706.916022099448\n",
      "totalTradeCount：95\n",
      "dailyTradeCount：0.5248618784530387\n",
      "totalReturn：1.0680548199999862\n",
      "annualizedReturn：1.4162052861878272\n",
      "dailyReturn：0.0058695657702081214\n",
      "returnStd：0.052348857560623414\n",
      "sharpeRatio：1.737018268347818\n",
      "------------------------------\n",
      "参数：[\"{'fastWindow': 30, 'slowWindow': 80, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：7708.987241559517\n",
      "统计数据：\n",
      "startDate：2018-01-01\n",
      "endDate：2018-06-30\n",
      "totalDays：181\n",
      "profitDays：93\n",
      "lossDays：86\n",
      "endBalance：1007708.9872415595\n",
      "maxDrawdown：-2699.43135844043\n",
      "maxDdPercent：-0.26845861447157254\n",
      "totalNetPnl：7708.987241559517\n",
      "dailyNetPnl：42.59108973237302\n",
      "totalCommission：901.9147979604802\n",
      "dailyCommission：4.982954684864532\n",
      "totalSlippage：20.2\n",
      "dailySlippage：0.11160220994475138\n",
      "totalTurnover：901914.79796048\n",
      "dailyTurnover：4982.9546848645305\n",
      "totalTradeCount：101\n",
      "dailyTradeCount：0.5580110497237569\n",
      "totalReturn：0.770898724155944\n",
      "annualizedReturn：1.0221861535769423\n",
      "dailyReturn：0.004242776150846575\n",
      "returnStd：0.05192929909868652\n",
      "sharpeRatio：1.2657364269590476\n",
      "------------------------------\n",
      "参数：[\"{'fastWindow': 50, 'slowWindow': 70, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：7373.351578937109\n",
      "统计数据：\n",
      "startDate：2018-01-01\n",
      "endDate：2018-06-30\n",
      "totalDays：181\n",
      "profitDays：94\n",
      "lossDays：85\n",
      "endBalance：1007373.3515789371\n",
      "maxDrawdown：-6284.189999999944\n",
      "maxDdPercent：-0.6244076832830857\n",
      "totalNetPnl：7373.351578937109\n",
      "dailyNetPnl：40.73674905490115\n",
      "totalCommission：1089.3238986429003\n",
      "dailyCommission：6.018364080900001\n",
      "totalSlippage：24.599999999999984\n",
      "dailySlippage：0.13591160220994467\n",
      "totalTurnover：1089323.8986429004\n",
      "dailyTurnover：6018.364080900003\n",
      "totalTradeCount：123\n",
      "dailyTradeCount：0.6795580110497238\n",
      "totalReturn：0.7373351578937148\n",
      "annualizedReturn：0.9776819773176328\n",
      "dailyReturn：0.004058730004552848\n",
      "returnStd：0.05091185400275777\n",
      "sharpeRatio：1.2350281891941355\n",
      "------------------------------\n",
      "参数：[\"{'fastWindow': 30, 'slowWindow': 90, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：5944.007183699503\n",
      "统计数据：\n",
      "startDate：2018-01-01\n",
      "endDate：2018-06-30\n",
      "totalDays：181\n",
      "profitDays：90\n",
      "lossDays：88\n",
      "endBalance：1005944.0071836995\n",
      "maxDrawdown：-3665.133999999962\n",
      "maxDdPercent：-0.3649306581477516\n",
      "totalNetPnl：5944.007183699503\n",
      "dailyNetPnl：32.83981869447239\n",
      "totalCommission：928.6419925205\n",
      "dailyCommission：5.130618743207182\n",
      "totalSlippage：21.0\n",
      "dailySlippage：0.11602209944751381\n",
      "totalTurnover：928641.9925204999\n",
      "dailyTurnover：5130.618743207182\n",
      "totalTradeCount：105\n",
      "dailyTradeCount：0.580110497237569\n",
      "totalReturn：0.5944007183699584\n",
      "annualizedReturn：0.7881556486673482\n",
      "dailyReturn：0.003274260367631701\n",
      "returnStd：0.05220993838780546\n",
      "sharpeRatio：0.9715511082040623\n",
      "------------------------------\n",
      "参数：[\"{'fastWindow': 30, 'slowWindow': 70, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：5036.003355478044\n",
      "统计数据：\n",
      "startDate：2018-01-01\n",
      "endDate：2018-06-30\n",
      "totalDays：181\n",
      "profitDays：90\n",
      "lossDays：89\n",
      "endBalance：1005036.003355478\n",
      "maxDrawdown：-3428.359599999967\n",
      "maxDdPercent：-0.34105244974666554\n",
      "totalNetPnl：5036.003355478044\n",
      "dailyNetPnl：27.82322295844223\n",
      "totalCommission：962.82380636196\n",
      "dailyCommission：5.319468543436243\n",
      "totalSlippage：21.799999999999994\n",
      "dailySlippage：0.1204419889502762\n",
      "totalTurnover：962823.8063619597\n",
      "dailyTurnover：5319.468543436241\n",
      "totalTradeCount：109\n",
      "dailyTradeCount：0.6022099447513812\n",
      "totalReturn：0.5036003355478158\n",
      "annualizedReturn：0.6677573510026288\n",
      "dailyReturn：0.002775339836283465\n",
      "returnStd：0.052710068776418637\n",
      "sharpeRatio：0.8156957648137757\n",
      "------------------------------\n",
      "参数：[\"{'fastWindow': 40, 'slowWindow': 80, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：4791.802000000001\n",
      "统计数据：\n",
      "startDate：2018-01-01\n",
      "endDate：2018-06-30\n",
      "totalDays：181\n",
      "profitDays：90\n",
      "lossDays：89\n",
      "endBalance：1004791.802\n",
      "maxDrawdown：-5239.23199999996\n",
      "maxDdPercent：-0.5211186872230685\n",
      "totalNetPnl：4791.802000000001\n",
      "dailyNetPnl：26.47404419889503\n",
      "totalCommission：853.6980000000003\n",
      "dailyCommission：4.716563535911604\n",
      "totalSlippage：19.0\n",
      "dailySlippage：0.10497237569060773\n",
      "totalTurnover：853698.0\n",
      "dailyTurnover：4716.563535911602\n",
      "totalTradeCount：95\n",
      "dailyTradeCount：0.5248618784530387\n",
      "totalReturn：0.4791801999999956\n",
      "annualizedReturn：0.6353770607734749\n",
      "dailyReturn：0.002641081691123759\n",
      "returnStd：0.052240471465879346\n",
      "sharpeRatio：0.7832138660828574\n",
      "------------------------------\n",
      "参数：[\"{'fastWindow': 50, 'slowWindow': 80, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：1582.2888000000044\n",
      "统计数据：\n",
      "startDate：2018-01-01\n",
      "endDate：2018-06-30\n",
      "totalDays：181\n",
      "profitDays：87\n",
      "lossDays：92\n",
      "endBalance：1001582.2888\n",
      "maxDrawdown：-6365.939999999944\n",
      "maxDdPercent：-0.6340603500046265\n",
      "totalNetPnl：1582.2888000000044\n",
      "dailyNetPnl：8.741927071823229\n",
      "totalCommission：852.8112000000001\n",
      "dailyCommission：4.71166408839779\n",
      "totalSlippage：19.0\n",
      "dailySlippage：0.10497237569060773\n",
      "totalTurnover：852811.1999999997\n",
      "dailyTurnover：4711.664088397789\n",
      "totalTradeCount：95\n",
      "dailyTradeCount：0.5248618784530387\n",
      "totalReturn：0.1582288799999887\n",
      "annualizedReturn：0.2098062497237419\n",
      "dailyReturn：0.0008735018232070596\n",
      "returnStd：0.051630863112887164\n",
      "sharpeRatio：0.26209579388715193\n",
      "------------------------------\n",
      "参数：[\"{'fastWindow': 40, 'slowWindow': 90, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：1542.6941230885925\n",
      "统计数据：\n",
      "startDate：2018-01-01\n",
      "endDate：2018-06-30\n",
      "totalDays：181\n",
      "profitDays：88\n",
      "lossDays：90\n",
      "endBalance：1001542.6941230886\n",
      "maxDrawdown：-6353.93200000003\n",
      "maxDdPercent：-0.6334505219038683\n",
      "totalNetPnl：1542.6941230885925\n",
      "dailyNetPnl：8.523171950765704\n",
      "totalCommission：851.0142083314204\n",
      "dailyCommission：4.701735957632157\n",
      "totalSlippage：19.0\n",
      "dailySlippage：0.10497237569060773\n",
      "totalTurnover：851014.2083314203\n",
      "dailyTurnover：4701.735957632157\n",
      "totalTradeCount：95\n",
      "dailyTradeCount：0.5248618784530387\n",
      "totalReturn：0.1542694123088717\n",
      "annualizedReturn：0.2045561268183934\n",
      "dailyReturn：0.0008516604380763517\n",
      "returnStd：0.05404397814726923\n",
      "sharpeRatio：0.2441320425602378\n",
      "------------------------------\n",
      "参数：[\"{'fastWindow': 50, 'slowWindow': 90, 'symbolList': ['tBTCUSD:bitfinex']}\"]，目标：-1231.5627329943013\n",
      "统计数据：\n",
      "startDate：2018-01-01\n",
      "endDate：2018-06-30\n",
      "totalDays：181\n",
      "profitDays：84\n",
      "lossDays：94\n",
      "endBalance：998768.4372670057\n",
      "maxDrawdown：-6670.234000000055\n",
      "maxDdPercent：-0.6643727950438507\n",
      "totalNetPnl：-1231.5627329943013\n",
      "dailyNetPnl：-6.8042139944436535\n",
      "totalCommission：853.4900272943001\n",
      "dailyCommission：4.715414515438122\n",
      "totalSlippage：19.0\n",
      "dailySlippage：0.10497237569060773\n",
      "totalTurnover：853490.0272942998\n",
      "dailyTurnover：4715.41451543812\n",
      "totalTradeCount：95\n",
      "dailyTradeCount：0.5248618784530387\n",
      "totalReturn：-0.12315627329942958\n",
      "annualizedReturn：-0.16330113586664696\n",
      "dailyReturn：-0.000680840734590159\n",
      "returnStd：0.05466107089185643\n",
      "sharpeRatio：-0.19296254416268022\n"
     ]
    }
   ],
   "source": [
    "# 显示优化的所有统计数据\n",
    "for result in resultList:\n",
    "    print('-' * 30)\n",
    "    print('参数：%s，目标：%s' %(result[0], result[1]))\n",
    "    print('统计数据：')\n",
    "    for k, v in result[2].items():\n",
    "        print('%s：%s' %(k, v))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
